When a user browses a webpage, in order to reduce the time spent on loading a webpage or data of the webpage, generally, a browser will preload the webpage or data of the webpage (webpage preloading). That is, after loading a current page, the browser predicts a target webpage that the user may access next, during the time interval spent by the user on browsing the current page, downloads the data of the target webpage, and saves the data in a local cache. Once the user clicks a link of this target webpage, the browser directly extracts the data of the target webpage from the cache and presents the data to the user quickly.
Generally, webpage preloading methods identify a part of target webpages that need to be preloaded, according to some fixed policies and rules, for example, by way of counting recently popular webpages containing hot topics, webpages containing some keywords, and so on. These methods mainly inform a computing system to preload which webpages to select as target webpages based on counting results. Then, the computing system saves these webpages in a local cache or cache memory, waiting for to be read when the user accesses the webpages next time.
The inventor finds that, in these webpage preloading methods, the rules for predicting the target webpages to preload are relatively fixed. A change in the counting results requires setting a new rule manually, which lacks flexibility. Moreover, due to the lagging feature of the preloading rules, it may easily results in lower “hit” accuracy in webpage preloading.
In addition, the development of Android applications for mobile terminals usually encounters a practical contradiction between subsequent expanding and enforcing functions of an application program and changing application program codes, which is a flexibility problem of the application programs. To eliminate such contradiction, methods for expanding programs in a traditional software, e.g., an application, can be used, such as implementing a plug-in (e.g., a plug-in module or a plug-in software). When an existing application needs to interact or communicate with a plug-in, the application needs to be integrated with a plug-in system.
Currently, in existing mobile terminals, a plug-in system for an application is developed as a part of the application. The plug-in system exists relying on the application. In an architecture of the existing plug-in systems, the application and the plug-in system heavily reply on each other, and are even inseparable from each other. Functions of the plug-in system include plug-in loading, plug-in unloading, plug-in management, plug-in calling, plug-in interface, and so on, all of which rely on the application. Regardless of whether the plug-in calls the application or the application calls the plug-in, the plug-in system must be used, and the application and the plug-in system are tightly coupled.
Therefore, in the existing plug-in systems, various parts are extremely highly dependent upon each other, and the change of one part may cause changes of most other parts, which results in an extremely large volume of work in development and design of the plug-in system, poor flexibility of the plug-in system, and low stability of the plug-in system because changes need to be made frequently.